﻿function renderStar() {
    var left = this.pointX - 123, top = this.pointY - 116;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(123, 118, 0, 123, 118, 113.034821);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Star
    ctx.beginPath();
    ctx.moveTo(126.578613, 11.297852);
    ctx.lineTo(162.373535, 83.825684);
    ctx.lineTo(242.412598, 95.456055);
    ctx.lineTo(184.495605, 151.911133);
    ctx.lineTo(198.167480, 231.626953);
    ctx.lineTo(126.578613, 193.990234);
    ctx.lineTo(54.988770, 231.626953);
    ctx.lineTo(68.661621, 151.911133);
    ctx.lineTo(10.744629, 95.456055);
    ctx.lineTo(90.783691, 83.825684);
    ctx.lineTo(126.578613, 11.297852);
    ctx.closePath();
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        this.setAnimationAlpha(ctx);
        //Eyes
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(121.578613, 114.592773);
        ctx.bezierCurveTo(121.578613, 120.943848, 116.429199, 126.092773, 110.078613, 126.092773);
        ctx.bezierCurveTo(103.727051, 126.092773, 98.578613, 120.943848, 98.578613, 114.592773);
        ctx.bezierCurveTo(98.578613, 108.241699, 103.727051, 103.092773, 110.078613, 103.092773);
        ctx.bezierCurveTo(116.429199, 103.092773, 121.578613, 108.241699, 121.578613, 114.592773);
        ctx.moveTo(154.578613, 114.592773);
        ctx.bezierCurveTo(154.578613, 120.943848, 149.430176, 126.092773, 143.078613, 126.092773);
        ctx.bezierCurveTo(136.727051, 126.092773, 131.578613, 120.943848, 131.578613, 114.592773);
        ctx.bezierCurveTo(131.578613, 108.241699, 136.727051, 103.092773, 143.078613, 103.092773);
        ctx.bezierCurveTo(149.430176, 103.092773, 154.578613, 108.241699, 154.578613, 114.592773);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
        //Mouth
        ctx.beginPath();
        ctx.moveTo(139.507324, 154.020020);
        ctx.bezierCurveTo(139.507324, 161.159668, 133.717773, 166.948242, 126.578125, 166.948242);
        ctx.bezierCurveTo(119.438477, 166.948242, 113.649902, 161.159668, 113.649902, 154.020020);
        ctx.bezierCurveTo(113.649902, 146.879883, 119.438477, 154.020020, 126.578125, 154.020020);
        ctx.bezierCurveTo(133.717773, 154.020020, 139.507324, 146.879883, 139.507324, 154.020020);
        ctx.closePath();
        ctx.fill();
    }

    ctx.translate(-left, -top);
}

function renderCircle() {
    var left = this.pointX - 106, top = this.pointY - 106;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(111, 111, 0, 111, 111, 102);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    ctx.beginPath();
    ctx.arc(106, 106, 101, 0, Math.PI * 2, false);
    ctx.closePath();
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Mouth
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(124.545898, 151.451172);
        ctx.bezierCurveTo(124.529297, 161.141602, 116.688477, 168.981445, 107.000977, 168.998047);
        ctx.lineTo(107.000977, 168.998047);
        ctx.bezierCurveTo(97.310547, 168.981445, 89.469727, 161.141602, 89.453125, 151.451172);
        ctx.lineTo(89.453125, 151.451172);
        ctx.bezierCurveTo(89.453125, 148.690430, 87.213867, 146.451172, 84.453125, 146.451172);
        ctx.lineTo(84.453125, 146.451172);
        ctx.bezierCurveTo(81.692383, 146.451172, 79.453125, 148.690430, 79.453125, 151.451172);
        ctx.lineTo(79.453125, 151.451172);
        ctx.bezierCurveTo(79.457031, 166.666992, 91.785156, 178.995117, 107.000977, 178.999023);
        ctx.lineTo(107.000977, 178.999023);
        ctx.bezierCurveTo(122.214844, 178.995117, 134.543945, 166.666992, 134.546875, 151.451172);
        ctx.lineTo(134.546875, 151.451172);
        ctx.bezierCurveTo(134.546875, 148.690430, 132.308594, 146.451172, 129.545898, 146.451172);
        ctx.lineTo(129.545898, 146.451172);
        ctx.bezierCurveTo(126.785156, 146.451172, 124.545898, 148.690430, 124.545898, 151.451172);
        ctx.lineTo(124.545898, 151.451172);
        ctx.closePath();
        ctx.fill();
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.beginPath();
        ctx.lineCap = 'round';
        ctx.miterLimit = 1;
        ctx.moveTo(58.970703, 66.372070);
        ctx.bezierCurveTo(64.513184, 62.001953, 71.509277, 59.393555, 79.114258, 59.393555);
        ctx.bezierCurveTo(86.719727, 59.393555, 93.715820, 62.001953, 99.258301, 66.372070);
        ctx.moveTo(114.742188, 66.372070);
        ctx.bezierCurveTo(120.284180, 62.001953, 127.280273, 59.393555, 134.885742, 59.393555);
        ctx.bezierCurveTo(142.491211, 59.393555, 149.487305, 62.001953, 155.029297, 66.372070);
        ctx.stroke();
        this.setAlpha(ctx);
    }

    ctx.translate(-left, -top);
}

function renderHeart() {
    var left = this.pointX - 123, top = this.pointY - 116;
    var scale = 1.538461538461538;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(231, 231, 0, 231, 231, 113.034821);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10 * scale;
    ctx.fillStyle = radialgradient;
    // Heart
    ctx.translate(-38, -37);
    ctx.scale(0.65, 0.65);
    ctx.beginPath();
    ctx.moveTo(229, 161.333);
    ctx.bezierCurveTo(306.333, 88.6667, 409, 142.122, 409, 225.333);
    ctx.bezierCurveTo(409, 308.544, 229, 462.667, 229, 462.667);
    ctx.bezierCurveTo(229, 462.667, 057, 306.544, 057, 223.333);
    ctx.bezierCurveTo(057, 140.123, 156.138, 88.4713, 229, 161.333);
    ctx.closePath();
    ctx.fill();
    ctx.stroke();
    ctx.scale(scale, scale);
    ctx.translate(38, 37);

    if (options.facesOnShapes()) {
        //Mouth
        ctx.lineWidth = 10;
        ctx.translate(36.333 - 30, 14);
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(124.545898, 151.451172);
        ctx.bezierCurveTo(124.529297, 161.141602, 116.688477, 168.981445, 107.000977, 168.998047);
        ctx.lineTo(107.000977, 168.998047);
        ctx.bezierCurveTo(97.310547, 168.981445, 89.469727, 161.141602, 89.453125, 151.451172);
        ctx.lineTo(89.453125, 151.451172);
        ctx.bezierCurveTo(89.453125, 148.690430, 87.213867, 146.451172, 84.453125, 146.451172);
        ctx.lineTo(84.453125, 146.451172);
        ctx.bezierCurveTo(81.692383, 146.451172, 79.453125, 148.690430, 79.453125, 151.451172);
        ctx.lineTo(79.453125, 151.451172);
        ctx.bezierCurveTo(79.457031, 166.666992, 91.785156, 178.995117, 107.000977, 178.999023);
        ctx.lineTo(107.000977, 178.999023);
        ctx.bezierCurveTo(122.214844, 178.995117, 134.543945, 166.666992, 134.546875, 151.451172);
        ctx.lineTo(134.546875, 151.451172);
        ctx.bezierCurveTo(134.546875, 148.690430, 132.308594, 146.451172, 129.545898, 146.451172);
        ctx.lineTo(129.545898, 146.451172);
        ctx.bezierCurveTo(126.785156, 146.451172, 124.545898, 148.690430, 124.545898, 151.451172);
        ctx.lineTo(124.545898, 151.451172);
        ctx.closePath();
        ctx.fill();
        ctx.translate(-36.333 + 30, -14);
        // Eyes
        this.setAnimationAlpha(ctx);
        ctx.translate(1 - 30, -15.134);
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(121.578613, 114.592773);
        ctx.bezierCurveTo(121.578613, 120.943848, 116.429199, 126.092773, 110.078613, 126.092773);
        ctx.bezierCurveTo(103.727051, 126.092773, 98.578613, 120.943848, 98.578613, 114.592773);
        ctx.bezierCurveTo(98.578613, 108.241699, 103.727051, 103.092773, 110.078613, 103.092773);
        ctx.bezierCurveTo(116.429199, 103.092773, 121.578613, 108.241699, 121.578613, 114.592773);
        ctx.closePath();
        ctx.fill();
        ctx.translate(-1 + 30, 15.134);
        ctx.translate(31.333 - 30, -15.134);
        ctx.beginPath();
        ctx.moveTo(154.578613, 114.592773);
        ctx.bezierCurveTo(154.578613, 120.943848, 149.430176, 126.092773, 143.078613, 126.092773);
        ctx.bezierCurveTo(136.727051, 126.092773, 131.578613, 120.943848, 131.578613, 114.592773);
        ctx.bezierCurveTo(131.578613, 108.241699, 136.727051, 103.092773, 143.078613, 103.092773);
        ctx.bezierCurveTo(149.430176, 103.092773, 154.578613, 108.241699, 154.578613, 114.592773);
        ctx.closePath();
        ctx.fill();
        ctx.translate(-31.333 + 30, 15.134);
        this.setAlpha(ctx);
    }

    ctx.translate(-left, -top);
}

function renderHexagon() {
    var left = this.pointX - 123, top = this.pointY - 116;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(123, 118, 0, 123, 118, 113.034821);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Hexagon
    ctx.beginPath();
    ctx.moveTo(61.853516, 199.267578);
    ctx.lineTo(5.773438, 102.133789);
    ctx.lineTo(61.853516, 5);
    ctx.lineTo(174.013672, 5);
    ctx.lineTo(230.093750, 102.133789);
    ctx.lineTo(174.013672, 199.267578);
    ctx.lineTo(61.853516, 199.267578);
    ctx.closePath();
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Mouth
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(117.933594, 135.528809);
        ctx.bezierCurveTo(112.938477, 135.528809, 93.465820, 133.640625, 88.424805, 132.747559);
        ctx.lineTo(96.684570, 165.867188);
        ctx.bezierCurveTo(97.222656, 168.024414, 100.017578, 169.694336, 102.953125, 169.694336);
        ctx.lineTo(132.916016, 169.694336);
        ctx.bezierCurveTo(135.849609, 169.694336, 138.644531, 168.024414, 139.182617, 165.867188);
        ctx.lineTo(147.442383, 132.747559);
        ctx.bezierCurveTo(142.402344, 133.640625, 122.929688, 135.528809, 117.933594, 135.528809);
        ctx.closePath();
        ctx.fill();
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.beginPath();
        ctx.moveTo(100.433594, 88.735352);
        ctx.bezierCurveTo(103.952148, 88.735352, 107.389648, 89.074707, 110.728516, 89.693848);
        ctx.lineTo(110.728516, 58.061035);
        ctx.bezierCurveTo(110.728516, 55.126465, 108.349609, 52.747070, 105.414063, 52.747070);
        ctx.lineTo(95.451172, 52.747070);
        ctx.bezierCurveTo(92.517578, 52.747070, 90.138672, 55.126465, 90.138672, 58.061035);
        ctx.lineTo(90.138672, 89.693848);
        ctx.bezierCurveTo(93.477539, 89.074707, 96.915039, 88.735352, 100.433594, 88.735352);
        ctx.moveTo(135.433594, 88.735352);
        ctx.bezierCurveTo(138.952148, 88.735352, 142.389648, 89.074707, 145.728516, 89.693848);
        ctx.lineTo(145.728516, 58.061035);
        ctx.bezierCurveTo(145.728516, 55.126465, 143.349609, 52.747070, 140.414063, 52.747070);
        ctx.lineTo(130.451172, 52.747070);
        ctx.bezierCurveTo(127.517578, 52.747070, 125.138672, 55.126465, 125.138672, 58.061035);
        ctx.lineTo(125.138672, 89.693848);
        ctx.bezierCurveTo(128.477539, 89.074707, 131.915039, 88.735352, 135.433594, 88.735352);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
    }

    ctx.translate(-left, -top);
}

function renderRectangle() {
    var left = this.pointX - 203, top = this.pointY - 103;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(203, 103, 0, 203, 103, 98.5);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Rectangle
    ctx.beginPath();
    ctx.rect(0, 0, 407, 207);
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.fillStyle = '#000000';
        ctx.translate(98, 0);
        ctx.beginPath();
        ctx.moveTo(93.295410, 58.927246);
        ctx.bezierCurveTo(93.295410, 55.992676, 90.916504, 53.613281, 87.981445, 53.613281);
        ctx.lineTo(78.018066, 53.613281);
        ctx.bezierCurveTo(75.083496, 53.613281, 72.704590, 55.992676, 72.704590, 58.927246);
        ctx.lineTo(72.704590, 91);
        ctx.lineTo(93.295410, 91);
        ctx.lineTo(93.295410, 58.927246);
        ctx.moveTo(134.295410, 58.927246);
        ctx.bezierCurveTo(134.295410, 55.992676, 131.916504, 53.613281, 128.981445, 53.613281);
        ctx.lineTo(119.018066, 53.613281);
        ctx.bezierCurveTo(116.083496, 53.613281, 113.704590, 55.992676, 113.704590, 58.927246);
        ctx.lineTo(113.704590, 91);
        ctx.lineTo(134.295410, 91);
        ctx.lineTo(134.295410, 58.927246);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
        //Mouth
        ctx.beginPath();
        ctx.moveTo(122.779297, 145.530762);
        ctx.bezierCurveTo(122.779297, 156.178223, 114.147461, 164.810059, 103.5, 164.810059);
        ctx.bezierCurveTo(92.852539, 164.810059, 84.220703, 156.178223, 84.220703, 145.530762);
        ctx.bezierCurveTo(84.220703, 134.883301, 92.852539, 145.530762, 103.5, 145.530762);
        ctx.bezierCurveTo(114.147461, 145.530762, 122.779297, 134.883301, 122.779297, 145.530762);
        ctx.closePath();
        ctx.fill();
        ctx.translate(-98, 0);
    }

    ctx.translate(-left, -top);
}

function renderSquare() {
    var left = this.pointX - 103, top = this.pointY - 103;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(103, 103, 0, 103, 103, 98.5);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Square
    ctx.beginPath();
    ctx.rect(0, 0, 207, 207);
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.moveTo(93.295410, 58.927246);
        ctx.bezierCurveTo(93.295410, 55.992676, 90.916504, 53.613281, 87.981445, 53.613281);
        ctx.lineTo(78.018066, 53.613281);
        ctx.bezierCurveTo(75.083496, 53.613281, 72.704590, 55.992676, 72.704590, 58.927246);
        ctx.lineTo(72.704590, 91);
        ctx.lineTo(93.295410, 91);
        ctx.lineTo(93.295410, 58.927246);
        ctx.moveTo(134.295410, 58.927246);
        ctx.bezierCurveTo(134.295410, 55.992676, 131.916504, 53.613281, 128.981445, 53.613281);
        ctx.lineTo(119.018066, 53.613281);
        ctx.bezierCurveTo(116.083496, 53.613281, 113.704590, 55.992676, 113.704590, 58.927246);
        ctx.lineTo(113.704590, 91);
        ctx.lineTo(134.295410, 91);
        ctx.lineTo(134.295410, 58.927246);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
        //Mouth
        ctx.beginPath();
        ctx.moveTo(122.779297, 145.530762);
        ctx.bezierCurveTo(122.779297, 156.178223, 114.147461, 164.810059, 103.5, 164.810059);
        ctx.bezierCurveTo(92.852539, 164.810059, 84.220703, 156.178223, 84.220703, 145.530762);
        ctx.bezierCurveTo(84.220703, 134.883301, 92.852539, 145.530762, 103.5, 145.530762);
        ctx.bezierCurveTo(114.147461, 145.530762, 122.779297, 134.883301, 122.779297, 145.530762);
        ctx.closePath();
        ctx.fill();
    }

    ctx.translate(-left, -top);
}

function renderTrapezoid() {
    var left = this.pointX - 103, top = this.pointY - 103;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(203, 103, 0, 203, 103, 98.5);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Trapezoid
    ctx.beginPath();
    ctx.moveTo(302.564941, 159.833984);
    ctx.lineTo(6.651855, 159.833984);
    ctx.lineTo(51.451172, 5);
    ctx.lineTo(257.766113, 5);
    ctx.lineTo(302.564941, 159.833984);
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.translate(139.608, 34.417);
        ctx.moveTo(23.5, 0);
        ctx.bezierCurveTo(27.089844, 0, 30, 2.9101563, 30, 6.5);
        ctx.lineTo(30, 27.5);
        ctx.bezierCurveTo(30, 31.089844, 27.089844, 34, 23.5, 34);
        ctx.bezierCurveTo(19.910156, 34, 17, 31.089844, 17, 27.5);
        ctx.lineTo(17, 6.5);
        ctx.bezierCurveTo(17, 2.9101563, 19.910156, 0, 23.5, 0);
        ctx.moveTo(6.5, 0)
        ctx.bezierCurveTo(10.089844, 0, 13, 2.9101563, 13, 6.5);
        ctx.lineTo(13, 27.5);
        ctx.bezierCurveTo(13, 31.089844, 10.089844, 34, 6.5, 34);
        ctx.bezierCurveTo(2.9101563, 34, 0, 31.089844, 0, 27.5);
        ctx.lineTo(0, 6.5);
        ctx.bezierCurveTo(0, 2.9101563, 2.9101563, 0, 6.5, 0);
        ctx.translate(-139.608, -34.417);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
        //Mouth
        ctx.beginPath();
        ctx.moveTo(172.153809, 102.869141);
        ctx.bezierCurveTo(172.137207, 112.559570, 164.296387, 120.399414, 154.608887, 120.416016);
        ctx.lineTo(154.608887, 120.416016);
        ctx.bezierCurveTo(144.918457, 120.399414, 137.077637, 112.559570, 137.061035, 102.869141);
        ctx.lineTo(137.061035, 102.869141);
        ctx.bezierCurveTo(137.061035, 100.108398, 134.821777, 97.869141, 132.061035, 97.869141);
        ctx.lineTo(132.061035, 97.869141);
        ctx.bezierCurveTo(129.300293, 97.869141, 127.061035, 100.108398, 127.061035, 102.869141);
        ctx.lineTo(127.061035, 102.869141);
        ctx.bezierCurveTo(127.064941, 118.084961, 139.393066, 130.413086, 154.608887, 130.416992);
        ctx.lineTo(154.608887, 130.416992);
        ctx.bezierCurveTo(169.822754, 130.413086, 182.151855, 118.084961, 182.154785, 102.869141);
        ctx.lineTo(182.154785, 102.869141);
        ctx.bezierCurveTo(182.154785, 100.108398, 179.916504, 97.869141, 177.153809, 97.869141);
        ctx.lineTo(177.153809, 97.869141);
        ctx.bezierCurveTo(174.393066, 97.869141, 172.153809, 100.108398, 172.153809, 102.869141);
        ctx.lineTo(172.153809, 102.869141);
        ctx.closePath();
        ctx.fill();
    }

    ctx.translate(-left, -top);
}

function renderTriangle() {
    var left = this.pointX - 103, top = this.pointY - 103;
    ctx.translate(left, top);

    var radialgradient = ctx.createRadialGradient(103, 103, 0, 103, 103, 98.5);
    radialgradient.addColorStop(0, this.color);
    radialgradient.addColorStop(1, this.darkColor);

    this.setAlpha(ctx);
    ctx.strokeStyle = '#000000';
    ctx.lineWidth = 10;
    ctx.fillStyle = radialgradient;
    // Triangle
    ctx.beginPath();
    ctx.moveTo(124, 0);
    ctx.lineTo(248, 180);
    ctx.lineTo(0, 180);
    ctx.lineTo(124, 0);
    ctx.fill();
    ctx.stroke();

    if (options.facesOnShapes()) {
        //Eyes
        this.setAnimationAlpha(ctx);
        ctx.fillStyle = '#000000';
        ctx.beginPath();
        ctx.translate(100, 75);
        ctx.moveTo(10.294922, 23.294434);
        ctx.bezierCurveTo(13.813476, 23.294434, 17.250976, 23.633789, 20.589844, 24.25293);
        ctx.lineTo(20.589844, 5.3139647);
        ctx.bezierCurveTo(20.589844, 2.3793947, 18.210937, -0.00000003125, 15.275391, -0.00000003125);
        ctx.lineTo(5.3125001, -0.00000003125);
        ctx.bezierCurveTo(2.3789061, -0.00000003125, 0.0000000125, 2.3793947, 0.0000000125, 5.3139647);
        ctx.lineTo(0.0000000125, 24.25293);
        ctx.bezierCurveTo(3.3388671, 23.633789, 6.7763671, 23.294434, 10.294922, 23.294434);
        ctx.translate(-100, -75);
        ctx.translate(130, 75);
        ctx.moveTo(10.294922, 23.294434);
        ctx.bezierCurveTo(13.813476, 23.294434, 17.250976, 23.633789, 20.589844, 24.25293);
        ctx.lineTo(20.589844, 5.3139647);
        ctx.bezierCurveTo(20.589844, 2.3793947, 18.210937, -0.00000003125, 15.275391, -0.00000003125);
        ctx.lineTo(5.3125001, -0.00000003125);
        ctx.bezierCurveTo(2.3789061, -0.00000003125, 0.0000000125, 2.3793947, 0.0000000125, 5.3139647);
        ctx.lineTo(0.0000000125, 24.25293);
        ctx.bezierCurveTo(3.3388671, 23.633789, 6.7763671, 23.294434, 10.294922, 23.294434);
        ctx.translate(-130, -75);
        ctx.closePath();
        ctx.fill();
        this.setAlpha(ctx);
        // Mouth
        ctx.beginPath();
        ctx.translate(23, 0);
        ctx.moveTo(122.779297, 145.530762);
        ctx.bezierCurveTo(122.779297, 156.178223, 114.147461, 164.810059, 103.5, 164.810059);
        ctx.bezierCurveTo(92.852539, 164.810059, 84.220703, 156.178223, 84.220703, 145.530762);
        ctx.bezierCurveTo(84.220703, 134.883301, 92.852539, 145.530762, 103.5, 145.530762);
        ctx.bezierCurveTo(114.147461, 145.530762, 122.779297, 134.883301, 122.779297, 145.530762);
        ctx.translate(-23, 0);
        ctx.fill();
    }

    ctx.translate(-left, -top);
}